爬取推特数据 - 常见错误解析及解决方案
您的代码中存在以下问题:\n\n1. 缺少导入requests模块的语句。请在代码开头添加import requests。\n\n2. r=requests.get(url=url,headers=headers)这行代码应该放在导入requests模块后。\n\n3. r.encoding = r.apparent_encoding这行代码没有意义,因为您在之前已经将编码设置为utf-8,所以可以删除这行代码。\n\n4. r=r.encoding这行代码将r的值设置为编码类型,而不是请求的响应内容。应该将其改为r=r.text,以获取响应内容。\n\n5. 在最后一行代码中,XPath的路径字符串应该在两个引号之间,即'//div[@data-testid="cellInnerDiv"]'。\n\n请将以上修改应用到您的代码中,如下所示:\n\npython\nimport requests\nfrom lxml import etree\n\nurl = "https://twitter.com/search?q=(%E5%A4%A7%E8%BF%90%E4%BC%9A%20OR%20FISU)%20until%3A2023-07-22%20since%3A2023-07-01&src=typed_query&f=live"\nheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0"}\nr = requests.get(url=url, headers=headers)\nr.encoding = "utf-8"\n# r.encoding="utf-8"\nr = r.text\n\n# if not os.path.exists("./4kpiclibs"):\n# os.mkdir("./4kpiclibs")\n \n#解析源码数据\ntree = etree.HTML(r)\ndiv_list = tree.xpath('//div[@data-testid="cellInnerDiv"]')\n\n\n这样修改后,您应该能够成功获取推特上的内容。
原文地址: https://www.cveoy.top/t/topic/pYUh 著作权归作者所有。请勿转载和采集!