|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
Здравствуйте! Пишу парсинг. Есть такой код на C#. В коде используется XPath. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 13:24 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
Когда перезагружаешь, то в окне контрольных значений пропадают выражения. Почему так? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 13:29 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 13:31 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
Konst_One Код: c# 1.
Получилось. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 13:49 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
class CustomDataTypes Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
class Form1 : Form Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 16:18 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
SelectNodes тебе вернет коллекцию. Либо цикл, либо поиск в коллекции В конце-концов, поставь точку останова, открой Immediate и экспериментируй сколько влезет ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 17:02 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 19:18 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
ferzmikkзначения колонок одинаковые. Почему так?Потому что ты по одной и той же коллекции елозишьferzmikk Код: c# 1.
ferzmikkВ коде используется XPath.млин, ну возьми почитай ты синтаксис xpath, вот какой смысл использовать метод тыка? https://msiter.ru/tutorials/xpath/syntax ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 20:19 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
Вот так получается С использованием цикла For Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Но если написать так С использованием цикла Foreach Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Почему так? Получатся для XPath не корректно использовать цикл [i]foreach ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 22:38 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
И что, у тебя row==null в этот момент? Какая итерация цикла? Почему при for ты пропускаешь первый элемент, при foreach не пропускаешь? Что лежит в rows? открой в отладке, посмотри. Что ты всякую фигню спрашиваешь до того, как попробовать самому. Тебе и так народ перестал отвечать, потому что как можно несколько лет заниматься программированием и не освоить элементарной отладки. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2019, 01:03 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
Исправил С использованием цикла For Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
С использованием цикла Foreach Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2019, 09:26 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
1. Чтобы не забанили на сайте, где выгружаешь таблицу, разделенную на множество страниц , то актуально в коде указать заголовки. Я правильно понимаю, что достаточно указывать свойства HttpWebRequest.Accept и HttpWebRequest.UserAgent? Правильно понимаю, что значения этих свойств на разных компьютерах одинаковые? 2. Если забанят при какой то выгрузке n-ой странички таблички, то придется выгружать заново. Я правильно понимаю, что после выгрузки после n-1 странички нужно задать паузу на какое то время и продолжать выгрузку? Или между выгрузками задать паузу? Или лучше строки таблицы каждой странички лучше сохранять в отдельный файл или в базу данных? Как лучше сделать? 3. В моменте выгрузки данных по страницам, могут быть разные случаи. Случай 1. То есть когда добавлялась строка в таблицу и в этот момент парсинг выгружает, скажем, 5-ая страницу, то получается что: - новая строка так не попала при выгрузке первой страницы - последняя строка на 5-й странице попадет на первую строку 6-й страницы. Получается эта строка выгрузится два раза. Случай 2. Или наоборот удалилась строка на второй страничке таблицы. Получается что: - первая строка 6-ой страницы перемещается в последнюю строку 5-ой страницу. И получается строка не попадает в выгрузку. А удаленная страница попала в выгрузку. Случай 3. Или строка переместилась вверх или вниз на текущей строке, или на другую страницу. Какие бывают решения, чтобы уловить такие логические нюансы (сдвиги)? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2019, 11:56 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
1. Нет 2. Могут забанить насовсем, могут на время, зависит от целевого сайта. Задание паузы между запросами в идеале - в соответствии со скоростью работы обычного человека. 3. В общем случае, когда идет интенсивная работа с этой таблицей, ты ВООБЩЕ никогда не сможешь получить актуальный срез. Если есть возможность сортировки по дате создания записи - тут ты хотя бы не пропустишь новые записи (хотя это не застрахует от дублей, на которые надо проверять) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2019, 13:09 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
Shocker.Pro, паузу лучше делать не константную, а переменную случайную ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2019, 13:22 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
Roman MejtesShocker.Pro, паузу лучше делать не константную, а переменную случайнуюНе думаю, что это сильно поможет. Антиботы и антидосы, как правило, просто рассчитаны на некий порог между запросами, а случайность и так вносит сама сеть. Но может быть еще и такой вариант, допустим пауза в одну секунду между каждым запросом устроит антибота, но 100 запросов за 100 секунд будут являться отдельной причиной для бана. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2019, 13:33 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
ferzmikk1. Чтобы не забанили на сайте, где выгружаешь таблицу, разделенную на множество страниц , то актуально в коде указать заголовки. 1.1. Я правильно понимаю, что достаточно указывать свойства HttpWebRequest.Accept и HttpWebRequest.UserAgent? 1.2. Правильно понимаю, что значения этих свойств на разных компьютерах одинаковые? Shocker.Pro1. НетХочу уточнить на какой вопрос Вы отвечаете: 1.1. или 1.2. Если на 1.1., то какие свойства надо указывать? Если на 1.2., то какие значения надо задавать? Если нажать на F12 - Network - dotnet - Headers - Request Headers и оттуда берется значения Accept и User-Agent. Отсюда же брать? Shocker.Pro2. Могут забанить насовсем,Если забанят на совсем, то выгружать можно только с другого компьютера. Верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2019, 17:18 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
ferzmikkShocker.Pro1. НетХочу уточнить на какой вопрос Вы отвечаете: 1.1. или 1.2.сорри, я отвечал на 1.2 Для начала прочитать, что же означают эти заголовки и на что они влияют ferzmikkЕсли забанят на совсем, то выгружать можно только с другого компьютера. Верно?Нет. Забанят IP-адрес ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2019, 18:50 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
Shocker.ProНет. Забанят IP-адрес Может это в правила внести? Добавить в https://www.sql.ru/forum/rules.aspx Запрещается: ... публикация серийных ключей, лицензий, способов взлома ПО и других методов, которые можно квалифицировать как преследуемые по закону; PS Тупо банить по IP непрактично, практичнее накормить обращения с качающего IP говном, т.е. лить не реальную инфу, а инфу похожую на правду. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2019, 20:37 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
Dima TPS Тупо банить по IP непрактично, практичнее накормить обращения с качающего IP говном, т.е. лить не реальную инфу, а инфу похожую на правду.1) это не типовой функционал, его придется делать специально, причем под каждый запрос - это уж совершенно непрактично. 2) а что делать людям попавшим под ложное срабатывание и накормленным этим говном? Если в случае обычного антибота человек немного поплюется, введет капчу и продолжит, а тут что делать? Я, кстати, неоднократно и на разных сайтах, обычными действиями вызывал срабатывания антиботов. Просто быстро с помощью жестов открывал и закрывал вкладки в поисках нужной инфы ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2019, 23:44 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
В таблице поле "Тема" содержит само название темы и ссылку. Для того тчобы выгрузить название и ссылку, добавил строки (выделены). Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
Код: c# 1. 2.
Возвращает null . Как правильно написать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 14:39 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
автор Код: c# 1.
Изучение XPath методом тыка. Оригинально. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 17:54 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
По поводу выгрузки файла с использованием классов HttpWebRequest и HttpWebResponse я правильно понимаю, что можно выгрузить только через класс FileStream? Или лучше отдельно использовать класс WebClient? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 18:26 |
|
Выгрузка данных из web
|
|||
---|---|---|---|
#18+
ferzmikkПо поводу выгрузки файла с использованием классов HttpWebRequest и HttpWebResponse я правильно понимаю, что можно выгрузить только через класс FileStream? Или лучше отдельно использовать класс WebClient? WebClient это вроде древняя версия HttpClient'а, который сейчас считается Obsolete ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 19:17 |
|
|
start [/forum/topic.php?fid=20&msg=39848287&tid=1398840]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 272ms |
0 / 0 |