初学python的第一个爬虫编程经验心得与分享

爬虫理解:
网络爬虫,即Web Spider,是一个很形象的名字。
把互联网比喻成蛛网,那Spider就像在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页的。
从网站某一个页面开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。
如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。这样看来,网络爬虫就是一个爬行程序,一个抓取网页的程序。

开门见山,直接上代码

#引入库
import requests
from lxml import etree
import csv
import time
import random
def spider():
headers = {‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ’
‘Chrome/70.0.3514.0 Safari/537.36’}
prefix_url =‘https://xa.anjuke.com/sale/p’
for i in range(1,2):
# 拼出完整的url
url = prefix_url+str(i)
# 获取页面
html = requests.get(url,headers=headers)
# 获取selector
selector = etree.HTML(html.text)
# 获取房源列表
house_list = selector.xpath(’//*[@id=“houselist-mod-new”]/li’)
# print(house_list)
for house in house_list:
a1 = house.xpath(‘div[2]/div[1]/a/text()’)[0]
a2 = house.xpath(‘div[2]/div[2]/span[1]/text()’)[0]
a3 = house.xpath(‘div[2]/div[2]/span[2]/text()’)[0]
a4 = house.xpath(‘div[3]/span[1]/strong/text()’)[0]
a5 = house.xpath(‘div[3]/span[2]/text()’)[0]
print(a1,a2,a3,a4,a5)
item = [a1,a2,a3,a4,a5]
data_write(item)
time.sleep(random.randint(2, 3))
def data_write(item):
with open(‘ershoufang.csv’, ‘a’, encoding=‘utf-8’, newline=’’) as file:
writer = csv.writer(file)
writer.writerow(item)
if name == ‘main’:
spider()

代码有些许缺陷吧,时常提醒自己多多敲代码

你可能感兴趣的:(初学python的第一个爬虫编程经验心得与分享)