我正在尝试在Python中构建一个简单的网络爬虫,以保存我以前的所有Facebook个人资料照片。
作为我早期尝试的一部分,我正在尝试从我的个人资料图片的网址中获取所有源代码,然后过滤它以获取所有具有类“uiMediaThumb _6i9 uiMediaThumbMedium”的锚元素(我查了一下,我想要的所有照片都有这个类。)
根据我从Bucky(https://www.youtube.com/watch?v=XjNm9bazxn8)学到的东西,我这样做。
import random
import urllib.request
import requests
from bs4 import BeautifulSoup
def put_source_in_file(str):
fw = open('temp_source.txt', 'w', encoding='utf-8')
fw.write(str)
fw.close()
def trade_spider():
url = r'https://www.facebook.com/************' #url of my profile photos
source_code = requests.get(url)
put_source_in_file(source_code.content)
plain_text = source_code.text
soup = BeautifulSoup(plain_text, "html.parser")
for link in soup.findAll('a', {'class': 'uiMediaThumb _6i9 uiMediaThumbMedium'}):
print(link.get('href'))
trade_spider()
问题在于虽然这些锚元素出现在原始源页面中,但它们并不存在于我正在使用的请求的Respond对象中。 我甚至将所有源代码复制到一个文件中并仔细检查它 - 仍然没有。
有人可以帮忙吗?
谢谢=)