本次爬取比较简单,通过jupyter编程完成。
导入包
requests用于获取内容,etree用于解析
import requests
from lxml import etree
获取校花网网页
html为element元素,可用xpath解析
def get_html(url):
response = requests.get(url)
html = etree.HTML(response.content)
return html
对网页进行解析
取图片名称和地址,其中地址需要进一步处理
def parse(html):
xhs = html.xpath("//div[@id='images']/div")
for xh in xhs:
name = xh.xpath("./p/a/text()")
img_url = xh.xpath("./a/img/@src")
if(img_url[0][:4]!="http"):
img_url[0]="http://www.xiaohuar.com"+img_url[0]
print(name[0])
print(img_url[0])
save_img(img_url[0],name[0])
保存图片
获取了图片地址后,用requests获取内容,保存到本地,wb为文件不存在即写入的意思
def save_img(img_url,name):
with open ("C:/Users/62332/Pictures/爬虫/校花/"+name+".jpg","wb") as f:
f.write(requests.get(img_url).content)
f.close()
主程序
确定url,执行主程序
def main():
base_url = 'http://www.xiaohuar.com/mm/'
html = get_html(base_url)
parse(html)
if __name__=="__main__":
main()
至此,一个新手可以操作的简单的爬取图片的程序便完成了。